A workflow engine is a software application that manages and executes modeled computer processes. It is a key component in workflow technology and typically makes use of a database server.
A workflow engine interprets events, such as documents submitted to a server or due dates expiring, and acts on them according to defined computer processes. The actions may be anything from saving the document in a document management system to issuing new work by sending an e-mail to users or escalating overdue work items to management. A workflow engine facilitates the flow of information, tasks, and events. Workflow engines may also be referred to as a Workflow Orchestration Engines.
The workflow engines mainly have three functions:
Workflow engine is the core technique for task allocation software application, such as BPM in which workflow engine allocates task to different executors with communicating data among participants. A workflow engine can execute any arbitrary sequence of steps. For example, a workflow engine can be used to execute a sequence of steps which compose a healthcare data analysis[2].
See Comparison of BPEL engines for a list of work flow engines using the Business Process Execution Language.